import java.util.Random;
import java.util.Scanner;
import java.util.Collections;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 64355
 * Date: 2022-07-31
 * Time: 10:09
 */




public class Test {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        for (int i = 31; i >= 1; i -= 2) {
            System.out.print(((n >> i) & 1) + " ");
        }
        System.out.println();
        for (int i = 30; i >= 0; i -= 2) {
            System.out.print(((n >> i) & 1) + " ");

        }
    }
}






//    public static void main6(String[] args) {
//        Scanner scan = new Scanner(System.in);
//        int count = 3;
//        while (count != 0) {
//            System.out.println("请输入密码，共有" + count + "次机会");
//            String pass = scan.nextLine();
//            if (pass.equals("123")) {
//                System.out.println("登录成功");
//                break;
//            } else {
//                System.out.println("登陆失败");
//            }
//            count--;
//        }
//    }
//    public static void main2(String[] args) {
//        System.out.println("请输入一个数字2-20");
//        Scanner scan=new Scanner(System.in);
//        while(scan.hasNextInt()){
//            int n=scan.nextInt();
//            for (int i = 0; i < n; i++) {
//                for (int j = 0; j < n; j++) {
//                    if((i==j)||(i+j==n-1)){
//                        System.out.print("*");
//                    }
//                    else{
//                        System.out.print(" ");
//                    }
//                }
//                System.out.println();
//            }
//        }
//    }
//    public static void main1(String[] args) {
//        System.out.println("请输入一个整数：");
//        Scanner scan=new Scanner(System.in);
//
//        int n=scan.nextInt();
//        int count=0;
//        while(n!=0){
//            if((n&1)==1){
//                count++;
//            } n=n>>>1;
//        }
//        System.out.printf("一共有%d个二进制1",count);
//    }
//}
//


//    public static void main(String[] args) {
//        //输出一个整数的每一位，如：123的每一位是3，2，1
//        System.out.println("请输入一个整数：");
//        Scanner scan=new Scanner(System.in);
//        int n=scan.nextInt();
//        while(n>0) {
//        int ret=n%10;
//            System.out.println(ret);
//            n/=10;
//        }
//    }


//    public static void main(String[] args) {
//        System.out.println("请输入一个整数n");
//        Scanner scan =new Scanner(System.in);
//        int n= scan.nextInt();
//        for (int i = 1; i <=n; i++) {
//            for (int j = 1; j <=i; j++) {
//                System.out.print(j+"*"+i+"="+i*j+"\t");
//            }
//            System.out.println();
//        }








//    public static void main(String[] args) {
//        //KiKi学习了循环，BoBo老师给他出了一系列打印图案的练习，该任务是打印用“*”组成的X形图案。
//                Scanner sc = new Scanner(System.in);
//                while (sc.hasNext()) {
//                    int n = sc.nextInt();
//                    boolean flag = true;
//                    String str = String.join("",Collections.nCopies(n," "));
//                    for (int i = 0; i < n; i++) {
//                        char[] temp = str.toCharArray();
//                        temp[i] = '*';
//                        temp[n-i-1] = '*';
//                        System.out.println(new String(temp));
//                    }
//                }
//    }









//       // 求出0～n之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数，其各位数字的立方和确好等于该数本 身，如；153＝1^3＋5^3＋3^3，则153是一个“水仙花数“。）
//        System.out.println("请输入一个三位整数n");
//        Scanner scan =new Scanner(System.in);
//        int n = scan.nextInt();
//        while (n >= 0) {
//            int i = n % 10;
//            int j = (n / 10) % 10;
//            int k = (n / 100) % 10;
//            //int ret=(Math.pow(i,3))+(Math.pow(j,3))+(Math.pow(k,3));
//            double ret = (Math.pow(i, 3)) + (Math.pow(j, 3)) + (Math.pow(k, 3));
//            if (n == ret) {
//                System.out.println(n);
//            }
//            n--;
//        }
//    }
//        //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。
//        double num = 0.0;
//        int q = 1;
//        for (int i = 1; i <= 100; i++) {
//            num += (1.0 / i)*q;
//            q = -q;
//        }
//        System.out.println(num);
//    }
//    public static void main(String[] args) {
////求一个整数，在内存当中存储时，二进制1的个数。
//        Scanner scan=new Scanner(System.in);
//        System.out.println("请输入一个整数：");
//        int n=scan.nextInt();
//        int count=0;
//        while(n!=0){
//            if((n&1)==1){
//                count++;
//                n=n>>1;
//            }
//        }
//        System.out.printf("一共有%d个二进制1",count);
//    }
//    public static void main(String[] args) {
//        //猜数字游戏：
//        Random random = new Random();
//        int n = random.nextInt(101);
//        while (true) {
//            System.out.println("请输入你要猜的数字");
//            Scanner scan = new Scanner(System.in);
//            int ret = scan.nextInt();
//            if(ret<n){
//                System.out.println("猜小了");
//            }
//            else if(ret>n){
//                System.out.println("猜大了");
//            }
//            else  {
//                System.out.println("猜对了");
//                break;
//            }
//        }
//    }


//    public static void main(String[] args) {
//        while(true){
//            Random ret=new Random();
//            int n= ret.nextInt(3);
//            System.out.println(n);
//        }
//    }
//    public static void main(String[] args) {
//        Scanner scan=new Scanner(System.in);
//        System.out.println("请输入你的姓名：");
//        String name=scan.nextLine();
//        System.out.println("姓名"+name);
//        System.out.println("请输入你的年龄：");
//        int age= scan.nextInt();
//        System.out.println("请输入你的工资：");
//        float money=scan.nextFloat();
//        System.out.println("工资"+money);
//        scan.close();

